package com.vhall.component.service.room;

import com.vhall.component.entity.record.RecordEntity;

/**
 * 房间缓存服务（涉及锁操作）
 *
 * @author yuanzh
 * @date 2021/11/5
 */
public interface RoomCacheLockService {


    /**
     * 校验暖场视频存在与否并重新缓存暖场信息
     *
     * @param warmVodId 暖场视频资源id
     * @return 暖场视频信息
     */
    RecordEntity getCachedWarmRecordInfo(String warmVodId);

    /**
     * 校验暖场视频存在与否并重新缓存暖场信息（带锁方式，请勿直接调用）
     *
     * @param warmVodId 暖场视频资源id
     * @param cacheKey  redis_key
     * @return 暖场视频信息
     */
    RecordEntity doGetCachedWarmRecordInfoWithLock(String warmVodId, String cacheKey);

}
